#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <sys/stat.h>
#include <sys/types.h>
#include <sys/ioctl.h>
#include <sys/wait.h>
#include <stdint.h>
#include <sys/mman.h>
#include <fcntl.h>
#include <stdbool.h>
#include <errno.h>
#include <string.h>
#include <signal.h>
#include <dlfcn.h>
#include <pthread.h>
#include <linux/fb.h>
#include <sys/ipc.h>
#include <sys/shm.h>

int main(int argc, char const *argv[])
{
    int n;
    scanf("%d", &n);

    for(int i=0; i<n; i++)
    {
        pid_t pid = fork();

        // 对于父进程而言，此处的pid就是其子进程的PID
        if(pid > 0)
        {
            continue;
        }

        // 对于子进程而言，此处的pid恒等于0
        if(pid == 0)
        {
            printf("PID: %d\n", getpid());
            exit(0);
        }
    }

    for(int i=0; i<n; i++)
        wait(NULL);

    printf("父进程PID: %d\n", getpid());

    return 0;
}
